import thenFs from 'then-fs'

// 基于 Promise.all() 并行方式读取文件内容

const promiseArr = [
  thenFs.readFile('./files/2.txt', 'utf-8'),
  thenFs.readFile('./files/1.txt', 'utf-8'),
  thenFs.readFile('./files/3.txt', 'utf-8')
]

// 注意: 数组中 Promise 实例的顺序, 就是最终结果的顺序!
// 数组顺序 1.txt, 2.txt, 3.txt  ->  [ '111\r\n', '222\r\n', '333\r\n' ]
// 数组顺序 2.txt, 1.txt, 3.txt  ->  [ '222\r\n', '111\r\n', '333\r\n' ]
Promise.all(promiseArr).then((res) => {
  console.log(res)
})

// 只要任何一个异步操作完成, 就会执行下一步的.then操作(赛跑机制)
Promise.race(promiseArr).then((res) => {
  console.log(res)
})
